Skip to content

G1: integrate wire-correct IEC 61850 control execution - #221

Merged
masarray merged 17 commits into
mainfrom
fix/g1-control-correctness
Aug 19, 2026
Merged

G1: integrate wire-correct IEC 61850 control execution#221
masarray merged 17 commits into
mainfrom
fix/g1-control-correctness

Conversation

@masarray

@masarray masarray commented Aug 19, 2026

Copy link
Copy Markdown
Owner

G1 / G1.1 Control Correctness — ARSAS integration

Stacked on frozen physical field baseline PR #220 (c5cd6e537a31967e55aeba77da7e02f028770976). Scope is control-only. Reporting, dynamic RCB policy, polling, reconnect, quality policy, and Event Log behavior are unchanged.

Exact engine

Pins ARIEC PR #90 final G1.1 head:
a18e550d07f7bbe4ff7753c180b02615075f6292

What the physical test proved

The original expected 254 bits, received 2 defect is gone. The real SIPROTEC now receives SBOw, but rejects it before Operate. Physical response A5 03 80 01 03 is MMS DataAccessError 3 = object-access-denied. Independent LastApplError evidence was ControlError=operator-test, AddCause=not-supported; the relay did not report blocked-by-interlocking or blocked-by-synchrocheck in that run.

G1.1 app corrections

  • engine write failure now surfaces object-access-denied (3) instead of only 1 failure(s);
  • quick row result and command dialog prominently show IED REJECTED SBOw;
  • when SBOw fails before Operate, UI explicitly says Operate NOT sent / Operate was NOT sent because SBOw selection failed;
  • known AddCause values get operator-readable shout text, including explicit INTERLOCKING and SYNCHROCHECK messages only when the IED actually returns those causes;
  • Diagnostics emits CONTROL_REJECTED_BY_IED with stage, exact reason, ControlError, AddCause, OperateSent and origin;
  • misleading pre-wire MMS command submitted wording is removed; local dispatch says wire send is not assumed until native evidence returns;
  • manual workstation control origin changes from Maintenance(7) to StationControl(2). No alternate-origin retry is added;
  • invalid origin text now safely falls back to StationControl rather than Maintenance.

Final candidate / automated gate

ARSAS head:
2c8de5b28667af623c8e5e0c3dfeeb7d723d7290

All green on exact G1.1 engine pin:

  • Build ARSAS #1313: success — source/release invariants, exact engine checkout, restore, build, 438 application regressions, portable publish + executable smoke;
  • Windows installer #298: success — restore/build/test, compile, silent install/uninstall smoke;
  • IO List Testing #298: success;
  • SV evidence #434: success;
  • ARIEC .NET CI #369: success.

Physical acceptance

Keep draft/unmerged. Next test should issue one safe SBO Enhanced command. Expected request origin is StationControl/ARSAS and wire orCat=2. If it succeeds, continue through SBOw -> Operate -> CommandTermination -> process feedback. If it still fails, the UI/diagnostic must show the exact IED rejection (object-access-denied, interlocking, synchrocheck, no-access-authority, etc.) without guessing or automatic retry.

@masarray
masarray changed the base branch from fix/p6-2-c-smart-reconnect to main August 19, 2026 06:55
@masarray
masarray changed the base branch from main to fix/p6-2-c-smart-reconnect August 19, 2026 07:14
@masarray
masarray changed the base branch from fix/p6-2-c-smart-reconnect to main August 19, 2026 07:51
@masarray
masarray changed the base branch from main to fix/p6-2-c-smart-reconnect August 19, 2026 07:59
@masarray
masarray changed the base branch from fix/p6-2-c-smart-reconnect to main August 19, 2026 09:18
@masarray
masarray marked this pull request as ready for review August 19, 2026 09:18
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@masarray
masarray merged commit 43832ed into main Aug 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant